#ifndef SERIALCOMMAND_H
#define SERIALCOMMAND_H
#include <QCoreApplication>  // 包含Qt核心模块的头文件，如果是基于Qt Widgets的应用程序，可能是#include <QApplication>
#include <QString>  // 包含QString类的头文件
#include <QDateTime>
#include <QDebug>
#include <QLabel>
//切换状态指令
extern QString DORM_COMMAND;
extern QString IDLE_COMMAND;
extern QString ACQU_COMMAND ;
extern QString STATE_COMMAND;
extern QString command_tail ;
//参数查询指令
extern QString INFO_COMMAND;

//定义哪种按键被按下
#define CLOSE_RX_SHOW       -1  //状态切换完毕就关闭接收，主要解决状态查询时出现两个状态灯同时亮的问题，并且默认关闭接收，因为通信机上电会发出一个字符
#define OPEN_RX_SHOW        0   //只有在进入ACQU状态时才打开接收显示，用来屏蔽状态切换时报文反馈
#define ENTER_DORM          1
#define ENTER_IDLE          2
#define ENTER_ACQU          3
#define ENTER_STATE         4
#define ENTER_INFO          5
#define ENTER_SET_LaunVol   6
#define ENTER_TIMESYNC      7

//选择的发射方式
#define LAUN_MOD_32FSK      1
#define LAUN_MOD_8M16FSK    2
#define LAUN_MOD_OFDM       3

enum eSerialFrameType
{
    StateFrame,//$AZCT,
    DataFrame,//$AZCX,
    ErrorFrame
};
bool getBatVTimestampFromMessage(const QString& inputString,QString& voltage, QString& current, QString& formattedDateTime,QString& SdCardGB);
int checkSerialFrameType(const QString& SerialFrame);
#endif // SERIALCOMMAND_H
